/**
随机生成相应的上下左右，并通过前端输入对应的值判断对错
 *WangGANG
 *2018/7/19
 */
package main

import (
	"math/rand"
	"time"
	"fmt"
)

//初始化循环次数
const (
	count  = 8
)

//全局变量
var ag = []string{"↑","↓","←","→"}
//因无法获取屏幕输入↑↓←→，所以使用wasd代替
var mapName = map[string]string{"w":"↑","s":"↓","a":"←","d":"→"}

func main()  {

   for i := 1; i < count; i++{
   	  a := ForAge(i)
   	  //当判断错误时跳出循环
		if !a{
			break
		}
   }
}

func ForAge(i int)bool{
	var c,d,e string
	//设置随机数
	rand.Seed(time.Now().Unix())
	//获取相应的切片中的值，随机生成一个相应长度的字符串
	for i > 0  {
		i--
		//生成一个0-3的随机数，获取切片对应的值
		d += ag[rand.Intn(4)]
	}
	//在屏幕打印出结果
	fmt.Println(d)
	//读取屏幕上的输入内容
	fmt.Scan(&c)

	//根据屏幕输入内容，获取相应的map值
	for _,q := range c{
		e += mapName[string(q)]
	}

	//判断成功还是失败
	if d == e {
		fmt.Printf("成功！\n")
		return true
	}else{
		fmt.Printf("失败！\n")
		return false
	}
}